import argparse
import datetime

"""
argparse 说明
通过ArgumentParser类生成一个parser对象
其中的description描述这个参数解析器是干什么的，当我们在命令行显示帮助信息的时候会看到description描述的信息。


"""


class argparse_usage_class:
    def __init__(self):
        # 通过自定义函数创建参数值以及参数的解读方式
        self.parser = self.parser_make()
        # 通过,parse_args()函数获得参数值
        self.args = self.parser.parse_args()

    def parser_make(self):
        """
        该函数用来存放可解析的参数以及其默认值
        """
        parser = argparse.ArgumentParser("WLF test!")
        # .parse_args()是命令行参数解析函数

        parser.add_argument('--name', help='设置当前工程名称 --name <名称>')
        parser.add_argument('-d', action='store_true', help='是否显示当前日期')
        parser.add_argument('-t', action='store_true', help='是否显示当前时间')
        return parser

    def parser_show(self):
        print("参数总介绍: {0}".format(self.parser.prog))

        if self.args.name is not None:
            print("设置了工程名称: {0}".format(self.args.name))
        else:
            print("未设置参数name，采用默认值：{0}".format("temp project"))

        if self.args.d is True:
            print(datetime.date.today())
        if self.args.t is True:
            print(datetime.datetime.now().time())
